package br.com.dips.beans;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

import javax.faces.bean.ApplicationScoped;
import javax.inject.Inject;
import javax.inject.Named;

import br.com.dips.enums.Atribuicao;
import br.com.dips.enums.Situacao;
import br.com.dips.model.Organizacao;
import br.com.dips.service.OrganizacaoService;

@Named
@ApplicationScoped
public class ComboBean implements Serializable {

	private static final long serialVersionUID = 1L;
	
	@Inject
	private OrganizacaoService service;
	
	public Situacao[] getSituacoes() {
		return Situacao.values();
	}
	
	public Atribuicao[] getAtribuicoesSelecionaveis() {
		List<Atribuicao> atribuicoesSelecionaveis = new ArrayList<Atribuicao>();
		for(Atribuicao atribuicao : Atribuicao.values()) {
			if (Boolean.TRUE.equals(atribuicao.getSelecionavel())) {
				atribuicoesSelecionaveis.add(atribuicao);
			}
		}
		Atribuicao[] atribuicoesSelecionaveisArray = new Atribuicao[atribuicoesSelecionaveis.size()];
		for(int i = 0; i < atribuicoesSelecionaveis.size(); i++) {
			atribuicoesSelecionaveisArray[i] = atribuicoesSelecionaveis.get(i);
		}
		return atribuicoesSelecionaveisArray;
	}
	
	public List<Organizacao> getOrganizacoesAtivas() {
		return this.service.listarPorSituacao(Situacao.ATIVO);
	}
	
}
